# -*- codeing = utf-8 -*-
# @Time : 2021/2/23 11:27
# @Atuthor: 朱朱
# @File: 063元组 列表 集合转化.py
# @Software: PyCharm
""
"""
# Python                    JSON
#  True                     true
#  False                    false
# 字符串                    字符串
# 字典                      对象
# 列表、元组                数组
"""

# 内置类  list  tuple  set
nums = [9, 8, 4, 3, 2, 1]
x = tuple(nums)  # 使用tuple内置类转换成为元组
print(x)

y = set(nums)  # 使用set内置类转换成为集合,会进行正序排序
print(y)

z = list({'name': 'zhangsan', 'age': 18, 'score': 98})
print(z) # ['name', 'age', 'score'] 只对K,进行了转换

# Python里有一个比较强大的内置函数eval，可以执行字符串里的代码
a = 'input("请输入您的用户名")'  # a是一个字符串
b = '2 % 3'
print(eval(b)) # 2 作为int进行了运算

import json

# JSON的使用，把列表、元组、字典等转换成为JSON字符串
person = {'name': 'zhangsan', 'age': 18, 'gender': 'female'}
# 字典如果想要把它传给前端页面或者把字典写入到一个文件里
# dumps将字典、列表、集合、元组等转换成为JSON字符串
m = json.dumps(person)
print(m) # {"name": "zhangsan", "age": 18, "gender": "female"}
print(type(m))
# print(m['name'])  不能这样使用,m是一个字符串,不能再像字典一样根据key获取value

# python和json里的数据表示方式不一样
# python转json => dumps()
# json转python => loads()
print(json.dumps(['hello', 'good', 'yes', True]))
print(json.dumps(('hello', 'good', 'yes', False)))

n = '["hello","good"]'
p= eval(n)
print(p)
print(type(p)) # 将一个字符串,抽离成列表数据

s = json.loads(n)
print(s)
print(type(s))
